new Cart({
    type : "render",
    callback : init
});

function init( res ){
    calculatPrice();
    bindEvent();
}

// 购物车的业务处理; 
// 总计功能 

function calculatPrice(){
   var total_price = 0;
   var $xiaoji_ele = $(".goods .xiaoji");
   for(var i = 0 ; i < $xiaoji_ele.length ; i ++){
          total_price += Number($xiaoji_ele.eq(i).html().slice(1))
   }
   $(".total_price span").html(total_price);
}

// 加减功能; 
function bindEvent(){
    $(".contents").on("click" , ".add" , addCount)
    $(".contents").on("click" , ".reduce" , reduceCount);
    $(".contents").on("click" , ".delete" , function () {
          var id = $(this).parents(".goods").attr("data-id");
          $(this).parents(".goods").remove();
          removeGoods(id);
    });
}

function addCount(){
    // 1. input 的value; 
    // 2. xiaoji的value; 
    // 3. localstorage里面的内容也要改变; 
    var count = $(this).siblings("input[type=text]").val();
    count ++;
    changeDetail.call(this , count);
}
function reduceCount(){
    // 1. input 的value; 
    // 2. xiaoji的value; 
    // 3. localstorage里面的内容也要改变; 
    var count = $(this).siblings("input[type=text]").val();
    count --;

    if( count !== 0 ){
          changeDetail.call(this , count);
    }else{
          var res = confirm("亲，您确定要删除这条商品么");
          if(res){
                $(this).parents(".goods").remove();
                let id = $(this).parents(".goods").attr("data-id");
                removeGoods(id);
          }
    }
}

function changeDetail( count ) {
    $(this).siblings("input[type=text]").val(count);
    var price = $(this).parent().siblings(".price").html().slice(1); 
    // xiaoji的改变; 
    $(this).parent().siblings(".xiaoji").html( "￥" +price * count );
    calculatPrice();
    // 更改localstorage;

    let cart_data = localStorage.getItem("cart");
    if(cart_data){
          cart_data = JSON.parse(cart_data);
          let id = $(this).parents(".goods").attr("data-id");
          cart_data[id].count = count;
          // 重新设置我们的数据; 
          localStorage.setItem("cart" , JSON.stringify(cart_data));
    }     
}

function removeGoods(id) {
    let cart_data = localStorage.getItem("cart");
    if(cart_data){
          cart_data = JSON.parse(cart_data);
          delete cart_data[id];
          // 重新设置我们的数据; 
          localStorage.setItem("cart" , JSON.stringify(cart_data));
    }    
    calculatPrice();
}
new Cart({
    main : ".li-bottom",
    button_ele : "add-cart"
});